<?php
class GmSaveNoticeVo extends SzAbstractMySqlVo
{

    private $noticeId;
    private $listId;
    private $language;
    private $startTime;
    private $endTime;
    private $title;
    private $content;
    private $sort;
    private $channel;
    private $picture;
    private $isValid;

    /**
     * Initialize GmSaveNoticeVo.
     *
     * @param $noticeId
     * @param $listId
     * @param $language
     * @param $startTime
     * @param $endTime
     * @param $title
     * @param $content
     * @param $sort
     * @param $channel
     * @param $picture
     * @param $isValid
     * @param boolean $isInsert default false, means for now this vo is initialized not for insert process
     * @return GmSaveNoticeVo
     */
    public function __construct($noticeId, $listId, $language, $startTime, $endTime, $title, $content, $sort, $channel, $picture, $isValid, $isInsert = false) {
        $this->noticeId = $noticeId;
        $this->listId = $listId;
        $this->language = $language;
        $this->startTime = $startTime;
        $this->endTime = $endTime;
        $this->title = $title;
        $this->content = $content;
        $this->sort = $sort;
        $this->channel = $channel;
        $this->picture = $picture;
        $this->isValid = $isValid;

        $this->isInsert = $isInsert;
        $this->voClassName = 'GmSaveNoticeVo';
        $this->ormName = 'GmSaveNotice';
    }

    /**
     * @see SzAbstractVo::toArray
     */
    public function toArray($needEncode = false)
    {
        return array(
            'noticeId' => $this->getNoticeId(),
            'listId' => $this->getListId(),
            'language' => $this->getLanguage(),
            'startTime' => $this->getStartTime(),
            'endTime' => $this->getEndTime(),
            'title' => $this->getTitle(),
            'content' => $this->getContent(),
            'sort' => $this->getSort(),
            'channel' => $this->getChannel(),
            'picture' => $this->getPicture(),
            'isValid' => $this->getIsValid(),
        );
    }

    /**
     * @see SzAbstractVo::toEntireArray
     */
    public function toEntireArray($needEncode = false)
    {
        return array(
            'noticeId' => $this->getNoticeId(),
            'listId' => $this->getListId(),
            'language' => $this->getLanguage(),
            'startTime' => $this->getStartTime(),
            'endTime' => $this->getEndTime(),
            'title' => $this->getTitle(),
            'content' => $this->getContent(),
            'sort' => $this->getSort(),
            'channel' => $this->getChannel(),
            'picture' => $this->getPicture(),
            'isValid' => $this->getIsValid(),
        );
    }

    /**
     * @see SzAbstractVo::toPureArray
     */
    public function toPureArray()
    {
        return array(
            $this->getNoticeId(),
            $this->getListId(),
            $this->getLanguage(),
            $this->getStartTime(),
            $this->getEndTime(),
            $this->getTitle(),
            $this->getContent(),
            $this->getSort(),
            $this->getChannel(),
            $this->getPicture(),
            $this->getIsValid(),
        );
    }

    public function getNoticeId()
    {
        return $this->noticeId;
    }

    public function setNoticeId($val)
    {
        $this->saveColumnStatus(0, $this->noticeId);
        $this->noticeId = $val;
    }

    public function getListId()
    {
        return $this->listId;
    }

    public function setListId($val)
    {
        $this->saveColumnStatus(1, $this->listId);
        $this->listId = $val;
    }

    public function getLanguage()
    {
        return $this->language;
    }

    public function setLanguage($val)
    {
        $this->saveColumnStatus(2, $this->language);
        $this->language = $val;
    }

    public function getStartTime()
    {
        return $this->startTime;
    }

    public function setStartTime($val)
    {
        $this->saveColumnStatus(3, $this->startTime);
        $this->startTime = $val;
    }

    public function getEndTime()
    {
        return $this->endTime;
    }

    public function setEndTime($val)
    {
        $this->saveColumnStatus(4, $this->endTime);
        $this->endTime = $val;
    }

    public function getTitle()
    {
        return $this->title;
    }

    public function setTitle($val)
    {
        $this->saveColumnStatus(5, $this->title);
        $this->title = $val;
    }

    public function getContent()
    {
        return $this->content;
    }

    public function setContent($val)
    {
        $this->saveColumnStatus(6, $this->content);
        $this->content = $val;
    }

    public function getSort()
    {
        return $this->sort;
    }

    public function setSort($val)
    {
        $this->saveColumnStatus(7, $this->sort);
        $this->sort = $val;
    }

    public function getChannel()
    {
        return $this->channel;
    }

    public function setChannel($val)
    {
        $this->saveColumnStatus(8, $this->channel);
        $this->channel = $val;
    }

    public function getPicture()
    {
        return $this->picture;
    }

    public function setPicture($val)
    {
        $this->saveColumnStatus(9, $this->picture);
        $this->picture = $val;
    }

    public function getIsValid()
    {
        return $this->isValid;
    }

    public function setIsValid($val)
    {
        $this->saveColumnStatus(10, $this->isValid);
        $this->isValid = $val;
    }

}